//	COPYRIGHT (C) 1981 BY BOARD OF TRUSTEES,
//	LELAND STANFORD JUNIOR UNIVERSITY

MANIFEST $( CHUNKSEP = 12; ESSEP = 9 $);
STATIC $( MFHEADSTR = "MOLFORM"; SSHEADSTR = "STRUCSTATUS";
          ESHEADSTR = "ESSTRUCS"; ARHEADSTR = "AROMATICS";
          HIHEADSTR = "HISTORY"; TTHEADSTR = "TERMTYPE" $);

LET COPYSEG(SEPCHAR,INCLUDESEP) BE
 $( STATIC $( CHAR = NIL $);
 CHAR:=INCH();
 WHILE CHAR NE SEPCHAR DO $( OUTCH(CHAR); CHAR:=INCH() $);
 IF INCLUDESEP DO OUTCH(CHAR)
 $);

LET SKIPSEG(SEPCHAR) BE
 $( STATIC $( CHAR = NIL $);
 CHAR:=INCH() REPEATUNTIL CHAR=SEPCHAR
 $);

LET FINDSEG(SEPCHAR,STR) = VALOF
 $( STATIC $( FILESTR = NIL; INDEX = NIL $);
 INDEX:=0;
  $(
  SKIPSEG(SEPCHAR);
  FILESTR:=INS0(TRUE);
  IF NCHARS(FILESTR)=0 DO RESULTIS -INDEX;
  IF STREQUAL(FILESTR,STR) DO RESULTIS INDEX+1;
  INDEX:=INDEX+1
  $) REPEAT
 $);

LET COPYSEGSTO(SEPCHAR,STR,INCLUDESTR) = VALOF
 $( STATIC $( FILESTR = NIL $);
 COPYSEG(SEPCHAR,TRUE);
 FILESTR:=INS0(TRUE);
 IF NCHARS(FILESTR)=0 DO RESULTIS FALSE;
 TEST STREQUAL(FILESTR,STR) THEN
  $(
  IF INCLUDESTR DO $( OUTS(FILESTR); NEWLINE(1) $);
  RESULTIS TRUE
  $)
 OR $( OUTS(FILESTR); NEWLINE(1) $)
 $) REPEAT;
